package com.xique.door.device.freeview.constant;

/**
 * @Auther: caogangquan
 * @Date: 2021/10/13 15:31
 * @Description:
 */
public class FreeViewConstant {

    /********************接口路径*********************/
    public static final String GET_CURRENT_UTC_TIMESTAMP = "engine-master/api/getCurrentUTCTimeStamp";

    public static final String DEVICE_ACCESSTOKEN = "engine-master/api/deviceAccesstoken";

    public static final String GET_INTERFACE_LIST = "engine-master/api/getInterfaceList";

    //获取配置信息
    public static final String DS001 = "engine-master/api/getDeviceConfig";
    //设备上报事件执行情况信息
    public static final String DS002 = "engine-master/api/forConfirmation";
    //获取设备信息
    public static final String DS003 = "engine-master/api/getDeviceInfo";
    //获取指定门禁卡的详细信息
    public static final String DS004 = "engine-master/api/getCardsInfo";
    //获取所有门禁卡的详细信息
    public static final String DS005 = "engine-master/api/getDeviceCardsInfo";
    //获取指定人脸的详细信息
    public static final String DS006 = "engine-master/api/getFaceRecognitionsInfo";
    //获取所有人脸的详细信息
    public static final String DS007 = "engine-master/api/getDeviceFaceRecognitionsInfo";
    //获取指定指纹的详细信息
    public static final String DS008 = "engine-master/api/getFingerprintsInfo";
    //获取所有指纹的详细信息
    public static final String DS009 = "engine-master/api/getDeviceFingerprintsInfo";
    //获取广告公告
    public static final String DS010 = "engine-master/api/getAdvertisements";
    //更新广告公告素材文件获取状态
    public static final String DS011 = "engine-master/api/updatePlayPolicyGetState";
    //上报门禁记录
    public static final String DS012 = "engine-master/api/reportAccessRecord";
    //上报报警记录
    public static final String DS013 = "engine-master/api/reportAlarmRecord";
    //呼叫信息
    public static final String DS014 = "engine-master/api/putCallMessage";
    //呼叫信息状态
    public static final String DS015 = "engine-master/api/putCallState";
    //验证临时密码
    public static final String DS016 = "engine-master/api/verifyPassword";
    //上报远程控制结果
    public static final String DS017 = "engine-master/api/remoteControlDeviceResult";
    //单个文件上传(文件流)
    public static final String DS018 = "engine-master/api/upload";
    //批量文件上传(文件流)
    public static final String DS019 = "engine-master/api/bulkUpload";
    //获取第三方服务器配置信息(客户)
    public static final String DS020 = "engine-master/api/getCustomerServerInformation";
    //设备获取天气
    public static final String DS021 = "engine-master/api/getWeather";
    //设备上报信息(如设备自检信息)
    public static final String DS022 = "engine-master/api/reportInformation";
    //设备上报日志文件
    public static final String DS023 = "engine-master/api/uploadLog";
    //设备上报呼叫抓拍信息(旧呼叫方 案用于通知 app)
    public static final String DS024 = "engine-master/api/reportCallRecord";
    //设备获取 sip 账号信息
    public static final String DS025 = "engine-master/api/getDeviceSipAccount";
    //设备上报读卡信息
    public static final String DS026 = "engine-master/api/reportReadCardInfo";
    //获取lot平台的token，全视通lot平台类似EMQ
    public static final String DO000 = "engine-master/api/mqtt/deviceAccesstoken";
    //获取单个卡同步数据
    public static final String DO001 = "engine-master/api/getCards";
    //获取完整卡同步数据
    public static final String DO002 = "engine-master/api/getCardsByPackage";
    //确认同步单个卡
    public static final String DO003 = "engine-master/api/confirmCardsSynced";
    //确认同步完整卡
    public static final String DO004 = "engine-master/api/confirmCardsSyncedByPackage";
    //请求完整卡同步
    public static final String DO005 = "engine-master/api/requestSyncCards";
    //获取单个人脸同步数据
    public static final String DO006 = "engine-master/api/getFaceRecognitions";
    //获取完整人脸同步数据
    public static final String DO007 = "engine-master/api/getFaceRecognitionsPackage";
    //确认同步单个人脸
    public static final String DO008 = "engine-master/api/confirmFaceRecognitionsSynced";
    //确认同步完整人脸
    public static final String DO009 = "engine-master/api/confirmFaceRecognitionsSyncedByPackage";
    //请求完整人脸同步
    public static final String DO010 = "engine-master/api/requestSyncFaceRecognitions";
    //获取单个指纹同步数据
    public static final String DO011 = "engine-master/api/getFingerprints";
    //获取完整指纹同步数据
    public static final String DO012 = "engine-master/api/getFingerprintsPackage";
    //确认同步单个指纹
    public static final String DO013 = "engine-master/api/confirmFingerprintsSynced";
    //确认同步完整指纹
    public static final String DO014 = "engine-master/api/confirmFingerprintsSyncedByPackage";
    //请求完整指纹同步
    public static final String DO015 = "engine-master/api/requestSyncFingerprints";


    public static final String REDIS_FACE_REC_STATUS_PREFIX = "face:rec:";

    public static final String COMMAND_STATUS_SUCCESS = "SUCCESS";

    public static final String COMMAND_STATUS_FAILURE = "FAILURE";





    public static final String REDIS_KEY_PLATFORM_TOKEN = "freeview:token:platform:";

    public static final String REDIS_KEY_LOT_TOKEN = "freeview:token:lot:";

    public static final String REDIS_KEY_EVENT_PREFIEX = "freeview:event:param:";

    public static final class ResultCode {

        public static final String NO_AUTH = "401";

        public static final String SUCCESS = "200";
    }

    public static final class TopicPrefiex {

        //下发人脸通知 单/批量
        public static final String DOWN_PERSON_PREFIEX = "Apps/Shared/FaceRecognition/";

        //下发广告通知 单/批量
        public static final String DOWN_ADVERT_PREFIEX = "Apps/Shared/Advert/";

        //下发广告通知 单/批量
        public static final String DOWN_CARD_PREFIEX = "Apps/Shared/Card/";

        //远程控制指令（远程开门等）
        public static final String REMOTE_CONTROL_PREFIEX = "Apps/Exclusive/RemoteControlDevice/";

        //基础设备控制指令（固件升级，重启设备等）
        public static final String BASIC_CONTROL_PREFIEX = "Basic/DevCtrl/";

        // 设备屏保
        public static final String BASIC_SYS_SETTING = "Basic/SysSettings/";
    }

    public static final class EventStatus {

        public static final Long DOING = 1L;

        public static final Long SUCCESS = 2L;

        public static final Long FAILURE = 3L;
    }

    public static final class EventType {
        //下发人脸通知 单
        public static final Long DOWN_SINGLE_PERSON = 1L;

        //下发人脸通知 批量
        public static final Long DOWN_MULTIPLE_PERSON = 2L;

        //删除单个人脸
        public static final Long DELETE_SINGLE_PERSON = 3L;

        //删除多个人脸
        public static final Long DELETE_MULTIPLE_PERSON = 4L;

        //下发门禁卡 单
        public static final Long DOWN_SINGLE_CARD = 5L;

        //下发门禁卡 批量
        public static final Long DOWN_MULTIPLE_CARD = 6L;

        //删除单个卡片
        public static final Long DELETE_SINGLE_CARD = 7L;

        //删除多个卡片
        public static final Long DELETE_MULTIPLE_CARD = 8L;

        //下发广告通知
        public static final Long DOWN_SINGLE_ADVERT = 9L;

        //下发广告通知
        public static final Long CLEAR_ADVERT = 10L;

        //远程控制指令
        public static final Long REMOTE_CONTROL = 11L;

        public static final Long LOST_CARD = 12L;

        public static final Long DOWN_VISITOR = 13L;

        public static final Long DELETE_VISITOR = 14L;

    }

    //远程控制中的操作类型
    public static final class OperationType {
        //2:开启门锁
        public static final Integer OPEN_DOOR = 2;

        //3:保持门常开
        public static final Integer KEEP_DOOR_OPEN = 3;

        //4:保持门常关
        public static final Integer KEEP_DOOR_CLOSE = 4;

        //8:停止播放广告(设备收 到此指令后不在播放广告， 可播放自身携带的宣传视 频、图片)
        public static final Integer STOP_ADVRT_PLAY = 8;

        //9:恢复广告播放(恢复按 播放策略播放广告文件)
        public static final Integer CONTINUE_ADVRT_PLAY = 9;

        //10:通知设备进入读卡模式 (管理 APP 端发卡授权)
        public static final Integer START_READ_CARD = 10;

        //11:通知设备退出读卡模式 (管理 APP 端取消发卡)
        public static final Integer END_READ_CARD =11;

        //12: 要求设备上传日志;
        public static final Integer UPLOAD_LOG =12;

        //13:要求设备下载 shell 脚 本文件并执行(通过特定 Http 接口下载脚本)
        public static final Integer DOWN_SHELL =13;


        //14:通知设备进入人脸录入 模式;
        public static final Integer START_FACE_ADD =14;


        //15:通知设备退出人脸录入 模式
        public static final Integer END_FACE_ADD =15;


        //21:APP 钥匙包开锁
        public static final Integer APP_OPEN_LOCK =21;


        //22:二维码验证开锁
        public static final Integer QR_CODE_OPEN_LOCK =22;


        //31:查询门状态(设备上报 门状态)
        public static final Integer SEARCH_DOOR_STATUS =31;


        //32:下发设备摘要(蓝牙开 锁使用)
        public static final Integer ISSUE_DEVICE_ABSTRACT =32;


        //33:启用设备摘要(蓝牙开 锁使用)
        public static final Integer START_DEVICE_ABSTRACT =33;


        //34:要求设备进入检测模式 (对应信义设备巡检功能)
        public static final Integer START_CHECK_MODE =34;


        //35:更新服务器配置信息 (第三方服务器信息)
        public static final Integer UPDATE_SERVER_CONFIG =35;


        //100: 第三方要求开锁(第三方未 提供开锁的类型时用此值， 否则用下述值进行细分);
        public static final Integer THIRD_REQUIRE_OPEN_DOOR =100;

        //101:第三方进行卡验证后 通知开锁;
        public static final Integer THIRD_CARD_OPEN_DOOR =101;

        //102:第三方进行密码验证 后通知开锁;
        public static final Integer THIRD_PASSWORD_OPEN_DOOR =102;

        //103:第三方进行人脸识别 后通知开锁;
        public static final Integer THIRD_FACE_OPEN_DOOR =103;

        //104:第三方进行指纹识别 后通知开锁;
        public static final Integer THIRD_FINGERPRINTS_OPEN_DOOR =104;


    }

    }
